// 导入db模块
const db = require('../db/index')

// 更新或者插入书信数据函数
exports.updataOrInsertFunc = (req, res) => {
  let data = {}
  data.uuId = req.body.uuId
  data.timer = Date.now()
  data.content = JSON.stringify(req.body.setInfo)
  data.uses = req.body.uses
  // 当你拿到数据  判断数据库中是否有uuid，来确定是更新还是插入
  // 声明mysql查询语句
  const sql = 'select * from wall_letter where uuId=?'
  db.query(sql, data.uuId, (err, result) => {
    // 查询失败
    if (err) return res.cc(err)
    // 查询成功但查询到的数据条数不等于1
    if (result.length !== 1) {
      // 定义插入的mysql数据
      const insertSql = 'insert into wall_letter set?'
      db.query(insertSql, data, (err, result) => {
        // 插入失败
        if (err) return res.cc(err)
        // 影响行数不等于1
        if (result.affectedRows !== 1) return res.cc('保存失败,请稍后重试')
        res.send({ code: 200, message: '保存书信成功' })
      })
    }
    // 查询成功结果条数等于1
    if (result.length === 1) {
      // 定义更新数据sql
      const updataSql = 'update wall_letter set? where uuId=?'
      db.query(updataSql, [data, data.uuId], (err, result) => {
        // 更新失败
        if (err) return res.cc(err)
        // 影响行数不等于1
        if (result.affectedRows !== 1) return res.cc('更新失败,请稍后重试')
        res.send({ code: 200, message: '更新书信成功' })
      })
    }
  })
}

// 根据uuid查询书信数据函数
exports.selectFunc = (req, res) => {
  // 定义查询sql语句
  const sql = 'select * from wall_letter where uuId=?'
  db.query(sql, req.params.id, (err, result) => {
    // 查询失败
    if (err) return res.cc(err)
    // 查询成功但查询到的数据条数不等于1
    if (result.length !== 1) return res.cc('你还未保存属于自己的书信')
    // 查询成功
    // 因为之前content数据是存入的json格式,现在应该转化回来
    result[0].content = JSON.parse(result[0].content)
    res.send({
      code: 200,
      message: "查询成功",
      data: result[0]
    })
  })
}